#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>

int main()
{
    pid_t pid = fork();
    if(pid < 0)
    {
        perror("fork() fail");
        return 1;
    }
    //子进程
    if(pid == 0)
    {
        char* argv[] = {"ls","-l","-a",NULL}; //命令行参数数组
        
        //执行程序替换
        execvp("ls",argv);

        //替换失败
        perror("execvp failed");
        return 1;
    }
    else if(pid > 0)  //父进程部分
    {
        wait(NULL);
        printf("子进程结束\n");
    }
    
    return 0;
}

